package com.letian.info.domain;

import com.letian.common.core.domain.model.UsersVO;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.letian.common.annotation.Excel;
import com.letian.common.core.domain.BaseEntity;

import java.util.List;

/**
 * 评论信息对象 info_comment
 *
 * @author bmz
 * @date 2023-04-05
 */
public class InfoComment extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 评论ID
     */
    private Long commentId;

    /**
     * 子回复ID
     */
    private Long replyId;

    /**
     * 回复
     */
    private List<InfoComment> reply;

    /**
     * 对象类型
     */
    @Excel(name = "对象类型")
    private String objectType;

    /**
     * 对象ID
     */
    @Excel(name = "对象ID")
    private Long objectId;

    /**
     * 评论
     */
    @Excel(name = "评论")
    private String comment;

    /**
     * 用户ID
     */
    @Excel(name = "评论人账号")
    private String commentBy;

    /**
     * 评论用户
     */
    private UsersVO commentUser;

    /**
     * 回复用户
     */
    private String to;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    private String delFlag;

    public List<InfoComment> getReply() {
        return reply;
    }

    public void setReply(List<InfoComment> reply) {
        this.reply = reply;
    }

    public String getTo() {
        return to;
    }

    public void setTo(String to) {
        this.to = to;
    }

    public void setCommentId(Long commentId) {
        this.commentId = commentId;
    }

    public Long getCommentId() {
        return commentId;
    }

    public void setReplyId(Long replyId) {
        this.replyId = replyId;
    }

    public Long getReplyId() {
        return replyId;
    }

    public void setObjectType(String objectType) {
        this.objectType = objectType;
    }

    public String getObjectType() {
        return objectType;
    }

    public void setObjectId(Long objectId) {
        this.objectId = objectId;
    }

    public Long getObjectId() {
        return objectId;
    }

    public void setComment(String comment) {
        this.comment = comment;
    }

    public String getComment() {
        return comment;
    }

    public void setCommentBy(String commentBy) {
        this.commentBy = commentBy;
    }

    public String getCommentBy() {
        return commentBy;
    }

    public UsersVO getCommentUser() {
        return commentUser;
    }

    public void setCommentUser(UsersVO commentUser) {
        this.commentUser = commentUser;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("commentId", getCommentId())
                .append("replyId", getReplyId())
                .append("objectType", getObjectType())
                .append("objectId", getObjectId())
                .append("comment", getComment())
                .append("commentBy", getCommentBy())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
